package com.jsz.peini.bean.user;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UserAccountExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserAccountExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(String value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(String value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(String value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(String value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(String value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLike(String value) {
            addCriterion("user_id like", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotLike(String value) {
            addCriterion("user_id not like", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<String> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<String> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(String value1, String value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(String value1, String value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andPayPasswordIsNull() {
            addCriterion("pay_password is null");
            return (Criteria) this;
        }

        public Criteria andPayPasswordIsNotNull() {
            addCriterion("pay_password is not null");
            return (Criteria) this;
        }

        public Criteria andPayPasswordEqualTo(String value) {
            addCriterion("pay_password =", value, "payPassword");
            return (Criteria) this;
        }

        public Criteria andPayPasswordNotEqualTo(String value) {
            addCriterion("pay_password <>", value, "payPassword");
            return (Criteria) this;
        }

        public Criteria andPayPasswordGreaterThan(String value) {
            addCriterion("pay_password >", value, "payPassword");
            return (Criteria) this;
        }

        public Criteria andPayPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("pay_password >=", value, "payPassword");
            return (Criteria) this;
        }

        public Criteria andPayPasswordLessThan(String value) {
            addCriterion("pay_password <", value, "payPassword");
            return (Criteria) this;
        }

        public Criteria andPayPasswordLessThanOrEqualTo(String value) {
            addCriterion("pay_password <=", value, "payPassword");
            return (Criteria) this;
        }

        public Criteria andPayPasswordLike(String value) {
            addCriterion("pay_password like", value, "payPassword");
            return (Criteria) this;
        }

        public Criteria andPayPasswordNotLike(String value) {
            addCriterion("pay_password not like", value, "payPassword");
            return (Criteria) this;
        }

        public Criteria andPayPasswordIn(List<String> values) {
            addCriterion("pay_password in", values, "payPassword");
            return (Criteria) this;
        }

        public Criteria andPayPasswordNotIn(List<String> values) {
            addCriterion("pay_password not in", values, "payPassword");
            return (Criteria) this;
        }

        public Criteria andPayPasswordBetween(String value1, String value2) {
            addCriterion("pay_password between", value1, value2, "payPassword");
            return (Criteria) this;
        }

        public Criteria andPayPasswordNotBetween(String value1, String value2) {
            addCriterion("pay_password not between", value1, value2, "payPassword");
            return (Criteria) this;
        }

        public Criteria andGoldIsNull() {
            addCriterion("gold is null");
            return (Criteria) this;
        }

        public Criteria andGoldIsNotNull() {
            addCriterion("gold is not null");
            return (Criteria) this;
        }

        public Criteria andGoldEqualTo(Integer value) {
            addCriterion("gold =", value, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldNotEqualTo(Integer value) {
            addCriterion("gold <>", value, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldGreaterThan(Integer value) {
            addCriterion("gold >", value, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldGreaterThanOrEqualTo(Integer value) {
            addCriterion("gold >=", value, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldLessThan(Integer value) {
            addCriterion("gold <", value, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldLessThanOrEqualTo(Integer value) {
            addCriterion("gold <=", value, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldIn(List<Integer> values) {
            addCriterion("gold in", values, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldNotIn(List<Integer> values) {
            addCriterion("gold not in", values, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldBetween(Integer value1, Integer value2) {
            addCriterion("gold between", value1, value2, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldNotBetween(Integer value1, Integer value2) {
            addCriterion("gold not between", value1, value2, "gold");
            return (Criteria) this;
        }

        public Criteria andScoreIsNull() {
            addCriterion("score is null");
            return (Criteria) this;
        }

        public Criteria andScoreIsNotNull() {
            addCriterion("score is not null");
            return (Criteria) this;
        }

        public Criteria andScoreEqualTo(Integer value) {
            addCriterion("score =", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreNotEqualTo(Integer value) {
            addCriterion("score <>", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreGreaterThan(Integer value) {
            addCriterion("score >", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("score >=", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreLessThan(Integer value) {
            addCriterion("score <", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreLessThanOrEqualTo(Integer value) {
            addCriterion("score <=", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreIn(List<Integer> values) {
            addCriterion("score in", values, "score");
            return (Criteria) this;
        }

        public Criteria andScoreNotIn(List<Integer> values) {
            addCriterion("score not in", values, "score");
            return (Criteria) this;
        }

        public Criteria andScoreBetween(Integer value1, Integer value2) {
            addCriterion("score between", value1, value2, "score");
            return (Criteria) this;
        }

        public Criteria andScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("score not between", value1, value2, "score");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andPayMoneyIsNull() {
            addCriterion("pay_money is null");
            return (Criteria) this;
        }

        public Criteria andPayMoneyIsNotNull() {
            addCriterion("pay_money is not null");
            return (Criteria) this;
        }

        public Criteria andPayMoneyEqualTo(BigDecimal value) {
            addCriterion("pay_money =", value, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyNotEqualTo(BigDecimal value) {
            addCriterion("pay_money <>", value, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyGreaterThan(BigDecimal value) {
            addCriterion("pay_money >", value, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_money >=", value, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyLessThan(BigDecimal value) {
            addCriterion("pay_money <", value, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_money <=", value, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyIn(List<BigDecimal> values) {
            addCriterion("pay_money in", values, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyNotIn(List<BigDecimal> values) {
            addCriterion("pay_money not in", values, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_money between", value1, value2, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_money not between", value1, value2, "payMoney");
            return (Criteria) this;
        }

        public Criteria andPayMoneyYearIsNull() {
            addCriterion("pay_money_year is null");
            return (Criteria) this;
        }

        public Criteria andPayMoneyYearIsNotNull() {
            addCriterion("pay_money_year is not null");
            return (Criteria) this;
        }

        public Criteria andPayMoneyYearEqualTo(BigDecimal value) {
            addCriterion("pay_money_year =", value, "payMoneyYear");
            return (Criteria) this;
        }

        public Criteria andPayMoneyYearNotEqualTo(BigDecimal value) {
            addCriterion("pay_money_year <>", value, "payMoneyYear");
            return (Criteria) this;
        }

        public Criteria andPayMoneyYearGreaterThan(BigDecimal value) {
            addCriterion("pay_money_year >", value, "payMoneyYear");
            return (Criteria) this;
        }

        public Criteria andPayMoneyYearGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_money_year >=", value, "payMoneyYear");
            return (Criteria) this;
        }

        public Criteria andPayMoneyYearLessThan(BigDecimal value) {
            addCriterion("pay_money_year <", value, "payMoneyYear");
            return (Criteria) this;
        }

        public Criteria andPayMoneyYearLessThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_money_year <=", value, "payMoneyYear");
            return (Criteria) this;
        }

        public Criteria andPayMoneyYearIn(List<BigDecimal> values) {
            addCriterion("pay_money_year in", values, "payMoneyYear");
            return (Criteria) this;
        }

        public Criteria andPayMoneyYearNotIn(List<BigDecimal> values) {
            addCriterion("pay_money_year not in", values, "payMoneyYear");
            return (Criteria) this;
        }

        public Criteria andPayMoneyYearBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_money_year between", value1, value2, "payMoneyYear");
            return (Criteria) this;
        }

        public Criteria andPayMoneyYearNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_money_year not between", value1, value2, "payMoneyYear");
            return (Criteria) this;
        }

        public Criteria andPayMoneyQuarterIsNull() {
            addCriterion("pay_money_quarter is null");
            return (Criteria) this;
        }

        public Criteria andPayMoneyQuarterIsNotNull() {
            addCriterion("pay_money_quarter is not null");
            return (Criteria) this;
        }

        public Criteria andPayMoneyQuarterEqualTo(BigDecimal value) {
            addCriterion("pay_money_quarter =", value, "payMoneyQuarter");
            return (Criteria) this;
        }

        public Criteria andPayMoneyQuarterNotEqualTo(BigDecimal value) {
            addCriterion("pay_money_quarter <>", value, "payMoneyQuarter");
            return (Criteria) this;
        }

        public Criteria andPayMoneyQuarterGreaterThan(BigDecimal value) {
            addCriterion("pay_money_quarter >", value, "payMoneyQuarter");
            return (Criteria) this;
        }

        public Criteria andPayMoneyQuarterGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_money_quarter >=", value, "payMoneyQuarter");
            return (Criteria) this;
        }

        public Criteria andPayMoneyQuarterLessThan(BigDecimal value) {
            addCriterion("pay_money_quarter <", value, "payMoneyQuarter");
            return (Criteria) this;
        }

        public Criteria andPayMoneyQuarterLessThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_money_quarter <=", value, "payMoneyQuarter");
            return (Criteria) this;
        }

        public Criteria andPayMoneyQuarterIn(List<BigDecimal> values) {
            addCriterion("pay_money_quarter in", values, "payMoneyQuarter");
            return (Criteria) this;
        }

        public Criteria andPayMoneyQuarterNotIn(List<BigDecimal> values) {
            addCriterion("pay_money_quarter not in", values, "payMoneyQuarter");
            return (Criteria) this;
        }

        public Criteria andPayMoneyQuarterBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_money_quarter between", value1, value2, "payMoneyQuarter");
            return (Criteria) this;
        }

        public Criteria andPayMoneyQuarterNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_money_quarter not between", value1, value2, "payMoneyQuarter");
            return (Criteria) this;
        }

        public Criteria andPayMoneyMonthIsNull() {
            addCriterion("pay_money_month is null");
            return (Criteria) this;
        }

        public Criteria andPayMoneyMonthIsNotNull() {
            addCriterion("pay_money_month is not null");
            return (Criteria) this;
        }

        public Criteria andPayMoneyMonthEqualTo(BigDecimal value) {
            addCriterion("pay_money_month =", value, "payMoneyMonth");
            return (Criteria) this;
        }

        public Criteria andPayMoneyMonthNotEqualTo(BigDecimal value) {
            addCriterion("pay_money_month <>", value, "payMoneyMonth");
            return (Criteria) this;
        }

        public Criteria andPayMoneyMonthGreaterThan(BigDecimal value) {
            addCriterion("pay_money_month >", value, "payMoneyMonth");
            return (Criteria) this;
        }

        public Criteria andPayMoneyMonthGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_money_month >=", value, "payMoneyMonth");
            return (Criteria) this;
        }

        public Criteria andPayMoneyMonthLessThan(BigDecimal value) {
            addCriterion("pay_money_month <", value, "payMoneyMonth");
            return (Criteria) this;
        }

        public Criteria andPayMoneyMonthLessThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_money_month <=", value, "payMoneyMonth");
            return (Criteria) this;
        }

        public Criteria andPayMoneyMonthIn(List<BigDecimal> values) {
            addCriterion("pay_money_month in", values, "payMoneyMonth");
            return (Criteria) this;
        }

        public Criteria andPayMoneyMonthNotIn(List<BigDecimal> values) {
            addCriterion("pay_money_month not in", values, "payMoneyMonth");
            return (Criteria) this;
        }

        public Criteria andPayMoneyMonthBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_money_month between", value1, value2, "payMoneyMonth");
            return (Criteria) this;
        }

        public Criteria andPayMoneyMonthNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_money_month not between", value1, value2, "payMoneyMonth");
            return (Criteria) this;
        }

        public Criteria andGoldRechageTotalIsNull() {
            addCriterion("gold_rechage_total is null");
            return (Criteria) this;
        }

        public Criteria andGoldRechageTotalIsNotNull() {
            addCriterion("gold_rechage_total is not null");
            return (Criteria) this;
        }

        public Criteria andGoldRechageTotalEqualTo(BigDecimal value) {
            addCriterion("gold_rechage_total =", value, "goldRechageTotal");
            return (Criteria) this;
        }

        public Criteria andGoldRechageTotalNotEqualTo(BigDecimal value) {
            addCriterion("gold_rechage_total <>", value, "goldRechageTotal");
            return (Criteria) this;
        }

        public Criteria andGoldRechageTotalGreaterThan(BigDecimal value) {
            addCriterion("gold_rechage_total >", value, "goldRechageTotal");
            return (Criteria) this;
        }

        public Criteria andGoldRechageTotalGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("gold_rechage_total >=", value, "goldRechageTotal");
            return (Criteria) this;
        }

        public Criteria andGoldRechageTotalLessThan(BigDecimal value) {
            addCriterion("gold_rechage_total <", value, "goldRechageTotal");
            return (Criteria) this;
        }

        public Criteria andGoldRechageTotalLessThanOrEqualTo(BigDecimal value) {
            addCriterion("gold_rechage_total <=", value, "goldRechageTotal");
            return (Criteria) this;
        }

        public Criteria andGoldRechageTotalIn(List<BigDecimal> values) {
            addCriterion("gold_rechage_total in", values, "goldRechageTotal");
            return (Criteria) this;
        }

        public Criteria andGoldRechageTotalNotIn(List<BigDecimal> values) {
            addCriterion("gold_rechage_total not in", values, "goldRechageTotal");
            return (Criteria) this;
        }

        public Criteria andGoldRechageTotalBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("gold_rechage_total between", value1, value2, "goldRechageTotal");
            return (Criteria) this;
        }

        public Criteria andGoldRechageTotalNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("gold_rechage_total not between", value1, value2, "goldRechageTotal");
            return (Criteria) this;
        }

        public Criteria andGoldRechageQuarterIsNull() {
            addCriterion("gold_rechage_quarter is null");
            return (Criteria) this;
        }

        public Criteria andGoldRechageQuarterIsNotNull() {
            addCriterion("gold_rechage_quarter is not null");
            return (Criteria) this;
        }

        public Criteria andGoldRechageQuarterEqualTo(BigDecimal value) {
            addCriterion("gold_rechage_quarter =", value, "goldRechageQuarter");
            return (Criteria) this;
        }

        public Criteria andGoldRechageQuarterNotEqualTo(BigDecimal value) {
            addCriterion("gold_rechage_quarter <>", value, "goldRechageQuarter");
            return (Criteria) this;
        }

        public Criteria andGoldRechageQuarterGreaterThan(BigDecimal value) {
            addCriterion("gold_rechage_quarter >", value, "goldRechageQuarter");
            return (Criteria) this;
        }

        public Criteria andGoldRechageQuarterGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("gold_rechage_quarter >=", value, "goldRechageQuarter");
            return (Criteria) this;
        }

        public Criteria andGoldRechageQuarterLessThan(BigDecimal value) {
            addCriterion("gold_rechage_quarter <", value, "goldRechageQuarter");
            return (Criteria) this;
        }

        public Criteria andGoldRechageQuarterLessThanOrEqualTo(BigDecimal value) {
            addCriterion("gold_rechage_quarter <=", value, "goldRechageQuarter");
            return (Criteria) this;
        }

        public Criteria andGoldRechageQuarterIn(List<BigDecimal> values) {
            addCriterion("gold_rechage_quarter in", values, "goldRechageQuarter");
            return (Criteria) this;
        }

        public Criteria andGoldRechageQuarterNotIn(List<BigDecimal> values) {
            addCriterion("gold_rechage_quarter not in", values, "goldRechageQuarter");
            return (Criteria) this;
        }

        public Criteria andGoldRechageQuarterBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("gold_rechage_quarter between", value1, value2, "goldRechageQuarter");
            return (Criteria) this;
        }

        public Criteria andGoldRechageQuarterNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("gold_rechage_quarter not between", value1, value2, "goldRechageQuarter");
            return (Criteria) this;
        }

        public Criteria andGoldRechageYearIsNull() {
            addCriterion("gold_rechage_year is null");
            return (Criteria) this;
        }

        public Criteria andGoldRechageYearIsNotNull() {
            addCriterion("gold_rechage_year is not null");
            return (Criteria) this;
        }

        public Criteria andGoldRechageYearEqualTo(BigDecimal value) {
            addCriterion("gold_rechage_year =", value, "goldRechageYear");
            return (Criteria) this;
        }

        public Criteria andGoldRechageYearNotEqualTo(BigDecimal value) {
            addCriterion("gold_rechage_year <>", value, "goldRechageYear");
            return (Criteria) this;
        }

        public Criteria andGoldRechageYearGreaterThan(BigDecimal value) {
            addCriterion("gold_rechage_year >", value, "goldRechageYear");
            return (Criteria) this;
        }

        public Criteria andGoldRechageYearGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("gold_rechage_year >=", value, "goldRechageYear");
            return (Criteria) this;
        }

        public Criteria andGoldRechageYearLessThan(BigDecimal value) {
            addCriterion("gold_rechage_year <", value, "goldRechageYear");
            return (Criteria) this;
        }

        public Criteria andGoldRechageYearLessThanOrEqualTo(BigDecimal value) {
            addCriterion("gold_rechage_year <=", value, "goldRechageYear");
            return (Criteria) this;
        }

        public Criteria andGoldRechageYearIn(List<BigDecimal> values) {
            addCriterion("gold_rechage_year in", values, "goldRechageYear");
            return (Criteria) this;
        }

        public Criteria andGoldRechageYearNotIn(List<BigDecimal> values) {
            addCriterion("gold_rechage_year not in", values, "goldRechageYear");
            return (Criteria) this;
        }

        public Criteria andGoldRechageYearBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("gold_rechage_year between", value1, value2, "goldRechageYear");
            return (Criteria) this;
        }

        public Criteria andGoldRechageYearNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("gold_rechage_year not between", value1, value2, "goldRechageYear");
            return (Criteria) this;
        }

        public Criteria andGoldMonthIsNull() {
            addCriterion("gold_month is null");
            return (Criteria) this;
        }

        public Criteria andGoldMonthIsNotNull() {
            addCriterion("gold_month is not null");
            return (Criteria) this;
        }

        public Criteria andGoldMonthEqualTo(BigDecimal value) {
            addCriterion("gold_month =", value, "goldMonth");
            return (Criteria) this;
        }

        public Criteria andGoldMonthNotEqualTo(BigDecimal value) {
            addCriterion("gold_month <>", value, "goldMonth");
            return (Criteria) this;
        }

        public Criteria andGoldMonthGreaterThan(BigDecimal value) {
            addCriterion("gold_month >", value, "goldMonth");
            return (Criteria) this;
        }

        public Criteria andGoldMonthGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("gold_month >=", value, "goldMonth");
            return (Criteria) this;
        }

        public Criteria andGoldMonthLessThan(BigDecimal value) {
            addCriterion("gold_month <", value, "goldMonth");
            return (Criteria) this;
        }

        public Criteria andGoldMonthLessThanOrEqualTo(BigDecimal value) {
            addCriterion("gold_month <=", value, "goldMonth");
            return (Criteria) this;
        }

        public Criteria andGoldMonthIn(List<BigDecimal> values) {
            addCriterion("gold_month in", values, "goldMonth");
            return (Criteria) this;
        }

        public Criteria andGoldMonthNotIn(List<BigDecimal> values) {
            addCriterion("gold_month not in", values, "goldMonth");
            return (Criteria) this;
        }

        public Criteria andGoldMonthBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("gold_month between", value1, value2, "goldMonth");
            return (Criteria) this;
        }

        public Criteria andGoldMonthNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("gold_month not between", value1, value2, "goldMonth");
            return (Criteria) this;
        }

        public Criteria andPayByGoldIsNull() {
            addCriterion("pay_by_gold is null");
            return (Criteria) this;
        }

        public Criteria andPayByGoldIsNotNull() {
            addCriterion("pay_by_gold is not null");
            return (Criteria) this;
        }

        public Criteria andPayByGoldEqualTo(BigDecimal value) {
            addCriterion("pay_by_gold =", value, "payByGold");
            return (Criteria) this;
        }

        public Criteria andPayByGoldNotEqualTo(BigDecimal value) {
            addCriterion("pay_by_gold <>", value, "payByGold");
            return (Criteria) this;
        }

        public Criteria andPayByGoldGreaterThan(BigDecimal value) {
            addCriterion("pay_by_gold >", value, "payByGold");
            return (Criteria) this;
        }

        public Criteria andPayByGoldGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_by_gold >=", value, "payByGold");
            return (Criteria) this;
        }

        public Criteria andPayByGoldLessThan(BigDecimal value) {
            addCriterion("pay_by_gold <", value, "payByGold");
            return (Criteria) this;
        }

        public Criteria andPayByGoldLessThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_by_gold <=", value, "payByGold");
            return (Criteria) this;
        }

        public Criteria andPayByGoldIn(List<BigDecimal> values) {
            addCriterion("pay_by_gold in", values, "payByGold");
            return (Criteria) this;
        }

        public Criteria andPayByGoldNotIn(List<BigDecimal> values) {
            addCriterion("pay_by_gold not in", values, "payByGold");
            return (Criteria) this;
        }

        public Criteria andPayByGoldBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_by_gold between", value1, value2, "payByGold");
            return (Criteria) this;
        }

        public Criteria andPayByGoldNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_by_gold not between", value1, value2, "payByGold");
            return (Criteria) this;
        }

        public Criteria andPayByWxpayIsNull() {
            addCriterion("pay_by_wxpay is null");
            return (Criteria) this;
        }

        public Criteria andPayByWxpayIsNotNull() {
            addCriterion("pay_by_wxpay is not null");
            return (Criteria) this;
        }

        public Criteria andPayByWxpayEqualTo(BigDecimal value) {
            addCriterion("pay_by_wxpay =", value, "payByWxpay");
            return (Criteria) this;
        }

        public Criteria andPayByWxpayNotEqualTo(BigDecimal value) {
            addCriterion("pay_by_wxpay <>", value, "payByWxpay");
            return (Criteria) this;
        }

        public Criteria andPayByWxpayGreaterThan(BigDecimal value) {
            addCriterion("pay_by_wxpay >", value, "payByWxpay");
            return (Criteria) this;
        }

        public Criteria andPayByWxpayGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_by_wxpay >=", value, "payByWxpay");
            return (Criteria) this;
        }

        public Criteria andPayByWxpayLessThan(BigDecimal value) {
            addCriterion("pay_by_wxpay <", value, "payByWxpay");
            return (Criteria) this;
        }

        public Criteria andPayByWxpayLessThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_by_wxpay <=", value, "payByWxpay");
            return (Criteria) this;
        }

        public Criteria andPayByWxpayIn(List<BigDecimal> values) {
            addCriterion("pay_by_wxpay in", values, "payByWxpay");
            return (Criteria) this;
        }

        public Criteria andPayByWxpayNotIn(List<BigDecimal> values) {
            addCriterion("pay_by_wxpay not in", values, "payByWxpay");
            return (Criteria) this;
        }

        public Criteria andPayByWxpayBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_by_wxpay between", value1, value2, "payByWxpay");
            return (Criteria) this;
        }

        public Criteria andPayByWxpayNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_by_wxpay not between", value1, value2, "payByWxpay");
            return (Criteria) this;
        }

        public Criteria andPayByAlipayIsNull() {
            addCriterion("pay_by_alipay is null");
            return (Criteria) this;
        }

        public Criteria andPayByAlipayIsNotNull() {
            addCriterion("pay_by_alipay is not null");
            return (Criteria) this;
        }

        public Criteria andPayByAlipayEqualTo(BigDecimal value) {
            addCriterion("pay_by_alipay =", value, "payByAlipay");
            return (Criteria) this;
        }

        public Criteria andPayByAlipayNotEqualTo(BigDecimal value) {
            addCriterion("pay_by_alipay <>", value, "payByAlipay");
            return (Criteria) this;
        }

        public Criteria andPayByAlipayGreaterThan(BigDecimal value) {
            addCriterion("pay_by_alipay >", value, "payByAlipay");
            return (Criteria) this;
        }

        public Criteria andPayByAlipayGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_by_alipay >=", value, "payByAlipay");
            return (Criteria) this;
        }

        public Criteria andPayByAlipayLessThan(BigDecimal value) {
            addCriterion("pay_by_alipay <", value, "payByAlipay");
            return (Criteria) this;
        }

        public Criteria andPayByAlipayLessThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_by_alipay <=", value, "payByAlipay");
            return (Criteria) this;
        }

        public Criteria andPayByAlipayIn(List<BigDecimal> values) {
            addCriterion("pay_by_alipay in", values, "payByAlipay");
            return (Criteria) this;
        }

        public Criteria andPayByAlipayNotIn(List<BigDecimal> values) {
            addCriterion("pay_by_alipay not in", values, "payByAlipay");
            return (Criteria) this;
        }

        public Criteria andPayByAlipayBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_by_alipay between", value1, value2, "payByAlipay");
            return (Criteria) this;
        }

        public Criteria andPayByAlipayNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_by_alipay not between", value1, value2, "payByAlipay");
            return (Criteria) this;
        }

        public Criteria andLastUpdateIsNull() {
            addCriterion("last_update is null");
            return (Criteria) this;
        }

        public Criteria andLastUpdateIsNotNull() {
            addCriterion("last_update is not null");
            return (Criteria) this;
        }

        public Criteria andLastUpdateEqualTo(Date value) {
            addCriterion("last_update =", value, "lastUpdate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateNotEqualTo(Date value) {
            addCriterion("last_update <>", value, "lastUpdate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateGreaterThan(Date value) {
            addCriterion("last_update >", value, "lastUpdate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateGreaterThanOrEqualTo(Date value) {
            addCriterion("last_update >=", value, "lastUpdate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateLessThan(Date value) {
            addCriterion("last_update <", value, "lastUpdate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateLessThanOrEqualTo(Date value) {
            addCriterion("last_update <=", value, "lastUpdate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateIn(List<Date> values) {
            addCriterion("last_update in", values, "lastUpdate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateNotIn(List<Date> values) {
            addCriterion("last_update not in", values, "lastUpdate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateBetween(Date value1, Date value2) {
            addCriterion("last_update between", value1, value2, "lastUpdate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateNotBetween(Date value1, Date value2) {
            addCriterion("last_update not between", value1, value2, "lastUpdate");
            return (Criteria) this;
        }

        public Criteria andLastPaytimeIsNull() {
            addCriterion("last_paytime is null");
            return (Criteria) this;
        }

        public Criteria andLastPaytimeIsNotNull() {
            addCriterion("last_paytime is not null");
            return (Criteria) this;
        }

        public Criteria andLastPaytimeEqualTo(Date value) {
            addCriterion("last_paytime =", value, "lastPaytime");
            return (Criteria) this;
        }

        public Criteria andLastPaytimeNotEqualTo(Date value) {
            addCriterion("last_paytime <>", value, "lastPaytime");
            return (Criteria) this;
        }

        public Criteria andLastPaytimeGreaterThan(Date value) {
            addCriterion("last_paytime >", value, "lastPaytime");
            return (Criteria) this;
        }

        public Criteria andLastPaytimeGreaterThanOrEqualTo(Date value) {
            addCriterion("last_paytime >=", value, "lastPaytime");
            return (Criteria) this;
        }

        public Criteria andLastPaytimeLessThan(Date value) {
            addCriterion("last_paytime <", value, "lastPaytime");
            return (Criteria) this;
        }

        public Criteria andLastPaytimeLessThanOrEqualTo(Date value) {
            addCriterion("last_paytime <=", value, "lastPaytime");
            return (Criteria) this;
        }

        public Criteria andLastPaytimeIn(List<Date> values) {
            addCriterion("last_paytime in", values, "lastPaytime");
            return (Criteria) this;
        }

        public Criteria andLastPaytimeNotIn(List<Date> values) {
            addCriterion("last_paytime not in", values, "lastPaytime");
            return (Criteria) this;
        }

        public Criteria andLastPaytimeBetween(Date value1, Date value2) {
            addCriterion("last_paytime between", value1, value2, "lastPaytime");
            return (Criteria) this;
        }

        public Criteria andLastPaytimeNotBetween(Date value1, Date value2) {
            addCriterion("last_paytime not between", value1, value2, "lastPaytime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}